Conventional dialog systems are widely used in the information technology industry, especially in the form of mobile applications for wireless telephones and tablet computers. Generally, a dialog system refers to a computer-based agent having a human-centric interface for accessing, processing, managing, and delivering information. Dialog systems are also known as chat information systems, spoken dialog systems, conversational agents, chatter robots, chatterbots, chatbots, chat agents, digital personal assistants, automated online assistants, and so forth. All these terms are within the scope of the present disclosure and referred to as a “dialog system” for simplicity.
Traditionally, a dialog system interacts with its users in natural language to simulate an intelligent conversation and provide personalized assistance to the users. For example, a user may generate requests to the dialog system in the form of conversational questions, such as “Where is the nearest hotel?” or “What is the weather like in Alexandria?,” and receive corresponding answers from the dialog system in the form of audio and/or displayable messages. The users may also provide voice commands to the dialog system requesting the performance of certain functions including, for example, generating e-mails, making phone calls, searching particular information, acquiring data, navigating, requesting notifications or reminders, and so forth. These and other functionalities make dialog systems very popular as they are of great help, especially for holders of portable electronic devices such as smart phones, cellular phones, tablet computers, gaming consoles, and the like.
Although dialog systems are a popular tool in day-to-day errands, there are still a number of user requests that conventional dialog systems cannot correctly process. Namely, traditional dialog systems cannot accurately process user requests that are not generally understandable out of speech or environmental context. In one example, a first user request “What is the weather like in New York?” is generally understandable, and traditional dialog systems are typically able to process such a request and provide a corresponding response. However, if the user makes the second user request “What about Los Angeles?” right after receiving the response to the first user request, the second user request will not be correctly processed by conventional dialog systems as long as each user request is processed independently.
In another example, when a dialog system installed on a mobile device is used for controlling internal mobile applications, some user commands may not be understandable by the dialog system. For instance, the verbal user command “Next” may mean different actions in different mobile applications. In one application, it can mean opening a next page, while in another application it may mean moving a pointer to a next list item, and so forth.
Moreover, dialog systems may not correctly process user commands when a physical environment is changed. For example, when a user travels from one time zone to another one, user commands associated with timing, such as “what time is it” questions, may not be correctly processed because the dialog system may be linked to a particular time zone, territory, or other factors.
Based on the foregoing, it can be inconvenient or annoying to users when conventional dialog systems either do not process or inaccurately process at least some of user requests. Therefore, there is a long felt need in improving responding by conventional dialog systems.